Method and system for video collection management, invalid video replacement and continuous video replay

ABSTRACT

A method and a system for video collection management are provided. The method and the system can gather related videos in a network, classify the videos into multiple channels and recommend the channels to be viewed by the user. The method and the system can check the videos of the channels periodically to determine whether the videos are valid or invalid and search for other videos to replace the invalid videos. The method and the system also provide continuous, cross-apparatus and cross-channel video replay.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the priority benefit of Taiwan applicationserial no. 101131218, filed on Aug. 28, 2012. The entirety of theabove-mentioned patent application is hereby incorporated by referenceherein and made a part of this specification.

BACKGROUND

1. Technical Field

The disclosure is directed to a method and a system for video collectionmanagement, invalid video replacement and continuous video replay.

2. Related Art

Along with the continuously increasing bandwidth of the Internet, videosprovided on networks are also increased day by day. Many well-knownInternet enterprises have also set up websites for users to share videosproduced by themselves or authorized TV programs and movies. Therefore,users can search among source websites of the videos for the desiredvideos or directly search for the videos on the internet by usingvarious types of search engines. Currently, the videos are managed bythe source websites by their own ways, and the videos provided therefromare separated and fragmented, which are not collectively managed.

Further, connect TV has risen, which features in Internet interactionand watching Internet videos available through the networking connectionamong each device in the home. In a typical TV channel, related programshaving attributes in common are collected and played continuously whilea user interface of the current connect TV is more like a personalcomputer rather than the typical TV channel.

SUMMARY

The disclosure is directed to a method and a system for video collectionmanagement capable of gathering related videos in a network, classifyingthe videos into multiple channels and recommending the channels to beviewed by users. The method and the system is also capable of checkingthe videos of the channels periodically to determine whether the videosare valid or invalid and searching for other videos to replace theinvalid videos. The method and the system also provide continuous,cross-device and cross-channel video replay.

A method for video collection management is introduced in thedisclosure, which includes steps as follows. A plurality of videosmatching a predetermined condition in a network is gathered. A pluralityof attributes of each of the videos is retrieved and recorded. Thevideos are classified into multiple channels according to a similaritydegree among the attributes of the videos by using a clusteringalgorithm. A user interface for a user to subscribe at least one of thechannels is provided.

A method for invalid video replacement is further introduced in thedisclosure, which includes steps as follows. Multiple channels areprovided, wherein each of the channels includes a plurality of videos.Whether the videos in at least one of the channels are invalid ischecked periodically. If there is an invalid video, another video havinga highest similarity degree with the invalid video is selected from anassociated channel of the channel of the invalid video, and the invalidvideo is replaced with the another video. The similarity degree iscalculated based on the attributes of the videos.

A method for continuous video replay is yet further introduced in thedisclosure, which includes steps as follows. A first video is played fora user. Last viewing information of the first video viewed by the useris recorded in a server of a network. A replay starting position of asecond video is determined according to the last viewing information.The second video is played from the replay starting position for theuser.

A method for video collection management, which includes main steps ofthe aforementioned three methods, is still further introduced in thedisclosure.

A system for video collection management is also introduced in thedisclosure, which includes a server and a playing apparatus. The servergathers a plurality of videos matching a predetermined condition in anetwork, retrieves and records a plurality of attributes of each of thevideos and classifies the videos into multiple channels according to asimilarity degree among the attributes of the videos by using aclustering algorithm. The playing apparatus is coupled to the serverthrough the network and provides a user interface for a user tosubscribe channels.

A system for invalid video replacement is further introduced in thedisclosure, which includes a server and a playing apparatus. The serverprovides multiple channels, wherein each of the channels includes aplurality of videos. In addition, the server checks periodically whetherthe videos in at least one of the channels is invalid. If there is aninvalid video, the server selects another video having a highestsimilarity degree with the invalid video from an associated channel ofthe channel of the invalid video and replaces the invalid video with theanother video. The similarity degree is calculated based on theattributes of the videos. The playing apparatus is coupled to the serverthrough a network and plays the videos.

A system for continuous video replay is yet further introduced in thedisclosure, which includes at least playing apparatus and a server. Theserver is coupled to the playing apparatus through a network, provides asource website of a first video for a first playing apparatus among theplaying apparatuses to play the first video for a user. Besides, theserver records last viewing information of the first video viewed by theuser, determines a replay starting position of a second video accordingto the last viewing information and provides a source website and thereplay starting position of the second video for a second playingapparatus among the playing apparatuses to play the second video fromthe replay starting position for the user.

A system for video collection management, which includes main functionsof the aforementioned three types of systems, is still furtherintroduced in the disclosure.

Several exemplary embodiments accompanied with figures are described indetail below to further describe the disclosure in details.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are included to provide further understanding,and are incorporated in and constitute a part of this specification. Thedrawings illustrate exemplary embodiments and, together with thedescription, serve to explain the principles of the disclosure.

FIG. 1 is a schematic diagram illustrating a system for video collectionmanagement according to an embodiment of the disclosure.

FIG. 2 is a schematic diagram illustrating a server according to anembodiment of the disclosure.

FIG. 3 is a schematic diagram illustrating a playing apparatus accordingto an embodiment of the disclosure.

FIG. 4 through FIG. 7 are flowcharts illustrating a method for videocollection management according to an embodiment of the disclosure.

FIG. 8 is a flowchart illustrating a method for invalid videoreplacement according to an embodiment of the disclosure.

FIG. 9 through FIG. 10 are flowcharts illustrating a method forcontinuous video replay according to an embodiment of the disclosure.

DETAILED DESCRIPTION OF DISCLOSED EMBODIMENTS

FIG. 1 is a schematic diagram illustrating a video collection managementsystem 100 according to an embodiment of the disclosure. The videocollection management system 100 includes a server 110 and a playingapparatus 120. The playing apparatus 120 is coupled to the server 110through a network. The server 110 gathers videos in the network,classifies the videos into multiple channels according to a similaritydegree among the videos, recommends a user to subscribe the channelsthrough the playing apparatus 120, plays the videos of the channels byusing the playing apparatus 120. The playing apparatus 120 may be anelectronic device having a networking and a video playing functions,such as a connect TV, a desktop computer, a notebook computer, a tabletcomputer or a smart phone.

FIG. 4 is a flowchart illustrating a method for video collectionmanagement according to an embodiment of the disclosure. This method maybe performed by the video collection management system 100. In step 410,the server 110 gathers a plurality of videos matching a predeterminedcondition from a network. The network may be a local area network (LAN),and Internet or a combination of two or more networks. The videos arefrom a plurality of videos sources 131˜13N in the network, wherein N isa positive integer. The videos sources 131˜13N are typically variouswebsites for providing videos to the public. If the video collectionmanagement system 100 is connected with the Internet, the videos sources131˜13N may cover a worldwide range. The videos include videos that arerecorded and uploaded by a general user himself/herself or commerciallyauthorized TV programs or movies.

The predetermined condition is configured to filter the videos to avoidcollecting too many videos that are not attractive to the general user.For example, the predetermined condition may be configured to limit aselected ratio. The so-called selected ratio is the ratio of selectedvideos. In other words, the videos whose click numbers within a latesttime period are greater than or equal to a predetermined threshold maybe gathered in step 410. For example, the predetermined threshold may beset to gather the videos whose click numbers within a latestpredetermined time period are ranked as the highest 10% or 30% in all ofthe videos. Thus, a collection of more popular videos is gathered, whichincludes the videos that are more attractive to the users or morerepresentative. The predetermined condition may be also set according toattribute of the videos, but the disclosure is not limited thereto. Forexample, it may be only the video having specific key words contained ina title or in a description gathered in step 410.

In step 420, the server 110 retrieves and records a plurality ofattributes of each gathered video. The attributes may partially orentirely includes a title, a publisher, a click number, an evaluation, adescription, a category, a source uniform resource locator (URL), asource website, video definition, frames, tags, uploaded time of each ofthe videos, and any combination of the above. The tags are referred tokey words used by a publisher of a video to describe the video whenuploading the video. In step 430, the server 110 classifies the videosinto multiple channels according to a similarity degree among theattributes of the videos by using a clustering algorithm. For example,in this step, different episodes of the same TV program are classifiedinto the same channel. Also, videos associated with the same news eventor the same news person may be also classified into the same channel. Instep 440, the playing apparatus 120 provides a user interface for theuser to select and subscribe any amount of the channels. The user mayplays the videos in the subscribed channels by the using the playingapparatus 120.

Each channel provided by the server 110 is like a typical TV channel, inwhich similar and related programs are collected and continuouslyplayed. The playing apparatus 120 is operated similarly to a typicaltelevision, where the user just needs to turn on the playing apparatus120 and selects a subscribed channel, and the video in the channel isthen continuously watched. Thus, the user neither has to use key wordsto search for related videos himself/herself nor has to spend time onselecting the video to be watched among numerous searching results.

FIG. 2 is a schematic diagram illustrating a server 110 according to anembodiment of the disclosure. The server 110 includes a crawler module210, a subscription module 220, a database 230 and a tracker module 240.The aforementioned modules 210, 220 and 240 and the database 230 arecoupled with one another, and each of the modules 210, 220 and 240 andthe database 230 may be a software module or a hardware device.

The crawler module 210 gathers the videos matching the predeterminedcondition from the network, retrieves the attributes of each of thevideos and classifies the videos into the multiple channels according tothe similarity degree among the attributes of the videos by using theclustering algorithm. The crawler module 210 recommends the channels tobe subscribed by the user using the subscription module 220 according tothe click numbers of the videos or any other attribute. The crawlermodule 210 searches if there is any new video to be added in thechannels. The crawler module 210 also detects whether the videos of eachchannels is valid or invalid, and searches for other similar videos toreplace the invalid videos.

The subscription module 220 provides a description of a user interfacefor the playing apparatus 120, and the description of the user interfaceis provided in a hypertext markup language (HTML) format, for example,so that the user interface is presented by the playing apparatus 120.The user interface may be a graphical user interface (GUI) or a userinterface presented in any other format. The subscription module 220receives the recommended channel that is generated by the crawler module210 and informs the tracker module 240 of the channels subscribed by theuser. In addition to the above-described method, by which the channelsare created according the similarity degree, the server 110 may alsoallow the user to search by key words to create and subscribe channels.Thus, the subscription module 220 may send the key words provided by theuser to the crawler module 210 and also receive the channels searchedand created by the crawler module 210 according to the key words so thatthe user himself/herself or others may subscribe the channels.

The database 230 records all required information including a pluralityof attributes of each of the videos, the channels, the channelssubscribed by the user, associated channels of the channels subscribedby the user, the last viewing information of each of the channels viewedby the user and the key words used by the user in the aforesaidsearching.

The tracker module 240 receives a notifying message regarding a channelthat is newly subscribed by the user from the subscription module 220 toupdate the database 230. The tracker module 240 also receives anotifying message regarding a channel that is unsubscribed by the userfrom the subscription module 220 to update the database 230. The trackermodule 240 also accesses the crawler module 210 so as to record theassociated channels of the channels subscribed by the user in thedatabase 230 or to update records regarding the associated channels inthe database 230. Additionally, the tracker module 240 tracks thechannels periodically, that is, checks whether there are any videos tobe added in or removed from the channels. To newly add videos or toremove videos as described above, the crawler module 210 is required.The tracker module 240 may also only track important channels, forexample, the channels subscribed by the user and the associated channelthereof. The tracker module 240 may also track all of the channels.

FIG. 3 is a schematic diagram illustrating a playing apparatus 120according to an embodiment of the disclosure. The playing apparatus 120includes a networking module 310, a playing module 320 and a displaymodule 330. The playing module 320 is coupled to the networking module310 and the display module 330. Each of the networking module 310, theplaying module 320 and the display module 330 may be a software moduleor a hardware device.

The networking module 310 delivers information in connection with thechannels and the videos between the server 110 and the playing apparatus120. The playing module 320 receives a description of the user interfacefrom the server 110 through the networking module 310 and controls thedisplay module 330 to present the user interface. The display module 330may be an externally connected or embedded display that is capable ofdisplaying the played videos and information related thereto. Theplaying module 320 also receives source URLs of the videos of thechannels subscribed by the user from the server 110 through thenetworking module 310 and controls the display module 330 to play thevideos of the channels subscribed by the user according to the sourceURL. When playing a video, the playing module 320 may execute functionssuch as pause, replay, stop, fast forward and rewind in response to theuser's operation.

FIG. 5 illustrates a detailed process of step 430 in FIG. 4. Suchprocess may be performed by the crawler module 210. In step 430, eachattribute of a video corresponds to a dimension for forming amulti-dimension and multi-type space. Each video corresponds to a nodeof the multi-dimension and multi-type space. The aforementioned“multi-type” is referred to the attribute including multiple data types.In step 430, the videos are classified into multiple clusters accordingto distance between the corresponding nodes of the videos by using theclustering algorithm, wherein each cluster corresponds to one of thechannels.

As for the clustering algorithm used in step 430, in the presentembodiment, an improved K-means algorithm is used. In brief, in atraditional K-means algorithm, a plurality of cluster pivots isselected, each node is classified into a cluster represented by acluster pivot that is nearest to the node and then, the cluster pivot isrecalculated. The steps of clustering and recalculating the clusterpivot are repeated until all the cluster pivots and the result ofclustering are no longer changed. Details of the K-means algorithm havebeen discussed in numerous papers and technical articles, which will notbe repeated hereinafter and only the improved part is describedaccording to the present embodiment as below.

In step 510, the crawler module 210 uses the videos gathered in step 410as an initial data set of the clustering algorithm. Then, in step 520, aplurality of frequent sets of tags of the videos is found. The crawlermodule 210 converts the initial cluster pivot of the searching to afrequent item set for searching. A frequent item set is searched byusing an Apriori algorithm that is well-known in the data mining field.An item as described above is a tag of a video, and a frequent item setis a frequent set of tags of the video. The tags that appear togetherfrequently may become a frequent set. For example, the tags may be aname of a famous athlete and a sport item that he/she devotes to. If asingle tag appears frequently enough, the tag itself may also become afrequent set.

Step 520 is merely an example, and the disclosure is not intent to limitto the frequent set of tags for searching videos. In other embodiments,if the gathered videos have one or more attributes applied to theaforementioned Apriori algorithm, these attributes may be partially orentirely used for searching the frequent set.

To be continued, in step 530, the crawler module 210 determines initialcluster pivots of the clustering algorithm according to the frequentsets. Then, in step 540, the clustering algorithm is executed toclassify the videos gathered in step 410 into multiple channels. Aspreviously discussed, in the present embodiment, the clusteringalgorithm is executed by using the K-means algorithm, and the K-meansalgorithm of the present embodiment is used to calculate a distancebetween two videos by a multi-attribute similarity operator.

$\begin{matrix}{{{sim}\left( {P_{1},P_{2}} \right)} = \frac{\sum\limits_{i = 1}^{N}\; {{{sim}\left( {A_{1{\_ i}},A_{2{\_ i}}} \right)} \times W_{i}}}{\sum\limits_{i = 1}^{N}\; W_{i}}} & (1)\end{matrix}$

Formula (1) is the above-mentioned multi-attribute similarity operator.In formula (1), a similarity degree sim(P₁, P₂) between two videos P₁and P₂ is calculated. The higher similarity degree represents thestronger relevance between the two videos, and a reciprocal of thesimilarity degree sim(P₁, P₂) is the distance between the videos P₁ andP₂. Such distance is the clustering base of the K-means algorithmaccording to the present embodiment.

The similarity degree sim(P₁, P₂) is generated by calculating asimilarity degree among various attributes of the videos P₁ and P₂.Which attributes is actually used to calculate the similarity degreesim(P₁, P₂) depends on application requirements. In formula (1), N is anamount of the attributes used to calculate the similarity degree, i isan assigned number of each attribute, A₁ _(—) _(i) is the i_(th)attribute of the video P₁, A₂ _(—) _(i) is the i_(th) attribute of thevideo P₂, sim(A₁ _(—) _(i), A₂ _(—) _(i)) is a similarity degree betweenthe i_(th) attributes of the videos P₁ and P₂ and W_(i) is a weightcorresponding to each i_(th) attribute. The weight W_(i) may be setaccording to application requirements. With reference to formula (1),the similarity degree between the videos P₁ and P₂ is weighted averagevalue of the similarity degree between the attributes therebetween.

As discussed above, each video has a plurality of attributes includingnumerical values and texts. In the data mining field, there are numerousmethods used to calculate the similarity degree or the distance amongvarious types of attributes. The similarity degree and the distance arereciprocals for each other and easy for conversion. For example, amongthe attributes, a distance between titles may be calculated by using anedit distance method, a similarity degree between descriptions may becalculated by using a term frequency-inverse document frequency (TF-IDF)algorithm, a similarity degree between tags may be calculated by using ahit ratio method. The so-called hit ratio means how many tags are thesame or similar between videos. A similarity degree between categoriesand publishers may be calculated by using an exact matching method, asimilarity degree between source URLs and source websites may becalculated by using a partial matching method, a similarity degreebetween frames may be calculated by using a feature comparison model anda similarity degree between click numbers may be calculated by usingabsolute value, which are all typical terms in the data mining field. Inaddition, there are still a lot of calculation methods that can bechosen, and the disclosure is not limited thereto.

After executing the clustering algorithm, the crawler module 210 mayselect and recommend unique channels to be subscribed by the user. Forexample, the crawler module 210 may calculate, for each of the channels,a distance mean of all the videos and the cluster pivot of the channel,an average click number of all the selected videos within a latestpredetermined time period and/or an average uploaded time of all thevideos. And, according to the distance mean, the average click numberand/or the average uploaded time, the crawler module 210 may recommendat least one of the channels to be selected and subscribed by the user.

For any one of the channels, the distance mean of the channel may becalculated by formula (2) as follows, wherein X is distance mean of thechannel, n is an amount of the videos in the channel, X_(i) is adistance between a video I and the cluster pivot of the channel.

$\begin{matrix}{\overset{\_}{X} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}\; \left( X_{i} \right)}}} & (2)\end{matrix}$

For example, the crawler module 210 may recommend the user N₁ channelshaving the smallest distance mean as the most associated channels, N₂channels having the highest average click numbers as the most popularchannels and N₃ channels having the average uploaded time that is thenearest as the latest channels. N₁, N₂ and N₃ are predetermined positiveintegers.

Further, in step 540, in addition to creating the channels by using theclustering algorithm, the server 110 may also allow the user to searchby key words to create and subscribe the channels. Such part of theprocess is illustrated in FIG. 6. In step 610, the subscription module220 receives one or more key words provided in the user interface by theuser. In step 620, the crawler module 210 uses the key words to searchfor one or more videos matching the key words. In step 630, the crawlermodule 210 retrieves a plurality of attributes of each video obtainedfrom the searching. The attributes have been described above, and willnot be repeated. In step 630, the database 230 records the attributes ofeach video obtained from the searching. In step 640, the crawler module210 classifies the videos obtained from the searching into one or morechannels according to source websites of the videos. For example, eachchannel may correspond to one source website. The crawler module 210 mayrecords theses channels in the database 230, inform the subscriptionmodule 220 and send the same to be displayed by the playing apparatus120 for the user to subscribe. In step 650, the subscription module 220receives subscriptions of the channels from the user through the userinterface.

After the channels are subscribed, the user may view the subscribedchannels easily by selecting on the user interface of the playingapparatus 120, without repeated searching by using key words every time.

The tracker module 240 may periodically update the videos in eachchannel. In detail, the tracker module 240 may periodically control thecrawler module 210 to gather one or more new videos from the network.The aforementioned new videos are videos that are not yet published ordoes not match the predetermined condition in the previous gathering andmatch the predetermined condition in the current gathering. For each newvideo, the crawler module 210 may identify a channel having a clusterpivot nearest to the new video among the channels that are recorded inthe database 230 and adds the new video in the channel. Likewise, thecrawler module 210 retrieves attributes of the new video and records theattributes in the database 230.

Moreover, the tracker module 240 may also periodically update videos ofspecific channels. Such specific channels may be the channels subscribedby the user, the channels composed of TV series or the channelsspecifically designated by the user. For example, the crawler module 210may classify videos belonging to the TV series into a channel, and thetracker module 240 may periodically check whether there is any new videoof the TV series available to be added in the channel. The crawlermodule 210 may also classify competition events of a famous athlete intoa channel, and the tracker module 240 may periodically check whetherthere is any video about a new competition event available to be addedin the channel.

As discussed above, the crawler module 210 may periodically gathervideos from the network and entirely record attributes of the gatheredvideos in the database 230. Therefore, for the specific channels thatneed the aforesaid updates, the new videos may be directly searched inthe database 230. If a certain channel needs the updates, the trackermodule 240 may query the database 230, that is, search for one or morenew videos in one or more associated channels of the channel recorded inthe database 230 and add the new video in the channel. A query conditionof the tracker module 240 is that a similarity degree between the newvideo and the latest video of the channel has to be greater than apredetermined threshold and a published time of each new video has to belater than the latest video.

Regarding the definition of the associated channel, when the channel isgenerated by using a clustering algorithm illustrated in FIG. 5, theassociated channel is a channel among the channels recorded in thedatabase 230, which has a distance from the channel smaller than apredetermined threshold. When the channel is generated in the searchingby using the key words illustrated in FIG. 6, the associated channel isa channel belonging to the same key words as the channel but from adifferent source website.

A similarity degree between the new video and the latest video of thechannel is calculated by using the multi-attribute similarity operatorof formula (1) and multiple pre-selected video attributes. Theattributes used in the above-mentioned calculation may partially orentirely include a category, a channel name, a title, a briefintroduction and tags.

The tracker module 240 may periodically control the crawler module 210to check whether the videos of the channel is valid or invalid andwhether the videos still match the predetermined condition. Thepredetermined condition is referred to the predetermined condition usedin the gathering in step 410. For any one of the videos, if the video isstill able to be played by using the source URL of the videos, the videois valid; otherwise, the video is invalid. The reason why the videobecomes invalid may include the following, for example, the sourcewebsite is shut down, the source website no longer shares videos, thesource URL is incorrect, or the file of the video is damaged. Thetracker module 240 may remove the video that is already invalid or nolonger matches the predetermined condition from the channel recorded inthe database 230 to maintain the quality of the channel.

For each channel recorded in the database 230, when there are any videosadded in or removed from the channel, the crawler module 210 or thetracker module 240 executes the process illustrated in FIG. 7 for thechannel. First, in step 710, whether an amount of the videos of thechannel is smaller than or equal to a predetermined threshold ischecked. When the amount of the videos of the channel is smaller than orequal to the predetermined threshold, the process enters step 720. Instep 720, the channel is removed and all the videos of the channel arethen added in a district of videos to be clustered. Afterward, in step725, the videos in the district of videos to be clustered may beperiodically re-classified into at least one new channel by using theclustering algorithm. The new channel as mentioned above is newlycreated and different from the original channel. On the other hand, whenthe amount of the videos of the channel is greater than thepredetermined threshold, the process enters step 730. In step 730, adistance mean of all the videos of the channel and the cluster pivot ofthe channel is calculated. A greater distance mean represents a looserrelevance among the videos of the channel. Regarding selecting thecluster pivot, any one of the videos of the channel that has thesmallest distance mean with each of the other videos is selected as thecluster pivot of the channel.

Then, in step 740, whether the distance mean calculated in step 730 isgreater than a predetermined threshold is checked. The threshold of step710 is different from the threshold of step 740. When the distance meancalculated in step 730 is greater than the predetermined threshold, theprocess enters step 750. In step 750, the channel is further classifiedinto multiple channels by using the clustering algorithm, and for eachnew classified channel, all the steps illustrated in FIG. 7 areperformed by a recursion method. In the clustering of step 750, only thechannel having the distance mean greater than the threshold require tobe clustered; otherwise, the channel remains unchanged.

In the periodical checking, the periodical updating and the periodicalremoving steps, each channel and the videos therein may be graduallychanged with the trends of the click numbers and the tags. For example,channels may be created for hot topics or news events, and videostherein may be gradually increased, and when the topics or news eventsare cooled down, the videos become less and less until the correspondingchannels are disappeared.

As discussed above, the tracker module 240 may periodically removeinvalid videos. In another embodiment of the disclosure, others videosmay be further searched to replace the invalid videos. Thus, even thoughthe original videos are already invalid, the user may still view thereplaced videos that are same as or highly similar to the invalid videoswithout searching for replaceable videos in the network.

FIG. 8 is a flowchart illustrating a method for invalid videoreplacement according to an embodiment of the disclosure. In step 810,the tracker module 240 periodically controls the crawler module 210 tocheck whether the videos of the channels recorded in the database 230 isinvalid or valid. In the checking step, the crawler module 210 maymerely check the channels that are more important, such as the channelssubscribed by the user, or the channels and the associated channelsthereof subscribed by the user. Alternatively, the crawler module 210may check all the channels. If there a video becoming invalid, theprocess enters step 830 from step 820. In step 830, the tracker module240 query the database 230, that is, in the channels and one or moreassociated channels of the invalid video, another video having a highestsimilarity degree with the invalid video is selected according tomultiple predetermined video attributes and in step 840, the invalidvideo is replaced with the another video.

The aforementioned similarity degree is generated by calculating themulti-attribute similarity operator of formula (1) according to thepredetermined video attributes. The predetermined attributes maypartially or entirely includes a channel name, a title, tags and alength of the video.

In addition to the functions that have been described above, the server110 of the disclosure also provides a function of continuous,cross-device and cross-channel video replay. FIG. 9 is a flowchartillustrating a method for continuous video replay according to anembodiment of the disclosure. In the present embodiment, the user mayview videos of each channel by using any playing apparatus connectedwith the server 110 through a network, any time and any where. Themethod illustrated in FIG. 9 may be performed by the subscription module220 of the server 110 with the playing apparatus of the presentembodiment.

First, in step 910, the subscription module 220 provides a userinterface for the user to select and play a video A of a channel by aplaying apparatus D currently used by the user and then, provides asource URL of the video A for the playing apparatus D to play the videoA for the user. When the user stops viewing, in step 920, thesubscription module 220 records last viewing information of the video Aview by the user in the database 230 of the server 110. The last viewinginformation may include information, such as a last viewing position (atime position in the video A) and a last viewed frame (a last playedframe of the video A). The playing module 320 of the playing apparatus120 shown in FIG. 3 may capture the last viewed frame of the video A andthe networking module 310 of the playing apparatus 120 may deliver thecaptured last viewed frame to the server 110.

Afterward, the user may select and view a video B by using a playingapparatus E connected with the server 110. The playing apparatuses D andE may the same playing apparatus or different playing apparatuses. Thevideos A and B may be the same video or different videos. The videos Aand B belong to the same channel or different channel. For example, theuser may view a video by using a desktop computer as the playingapparatus D at home. When going out, the user may continuously view thesame video by using a tablet computer as the playing apparatus E. Forexample, the videos A and B may belong to two different channels, andthe two channels are respectively composed of an original version and ahigh-definition version of the same TV series. The user may switchchannels based on different networking bandwidths of the environmentwhere he/she is located, and thus, the video to be played is switchedfrom the video A to the video B. Or, the video A may become invalidbetween two times of playbacks of the user, and the video B is anothervideo used for replacing the invalid video.

Accordingly, in step 930, the subscription module 220 determines areplay starting position of the video B according to the last viewinginformation of the video A recorded in the database 230 and in step 940,provides a source URL and the replay starting position of the video B tothe playing apparatus E for the playing apparatus E to play the video Bfrom the replay starting position for the user.

FIG. 10 illustrates a detailed process of step 930 in FIG. 9. First, instep 1010, the subscription module 220 checks whether the video A andthe video B are the same video. If true, the process enters step 1020,where the subscription module 220 directly sets the last viewingposition as the replay starting position; if not, the last viewingposition of the video A may not be applicable to the video B, and theprocess enters step 1030.

In step 1030, the subscription module 220 captures a sampling frame pera predetermined interval in a segment of a predetermined length centeredat the last viewing position in the video B. For example, if the lastviewing position is 05:11, i.e. the 5-minute and 11-second position ofthe video A, wherein the predetermined length is 1 minute, and thepredetermined interval is 1 second, the subscription module 220 maycaptures a sampling frame per second between the segment of 04:41˜05:41in the video. Next, in step 1040, the subscription module 220 comparesthe sampling frames with the last viewed frame and in step 1050, setsthe replay starting position of the video B as a position of thesampling frame that is the most similar to the last viewed frame.

Based on the above, in the disclosure, the crawler module is utilized togather the source URLs of the videos and the other attributes fromnumerous sources, and the multi-attribute similarity operator isutilized to automatically create channels of related popular videos. Theuser subscribes the channels which are searched by using key words orthe audio and video channels recommended by using the system or themethod for video collection management of the disclosure. The channelsprovided in the disclosure are similar to the traditional TV channelsand the user interface provided in the disclosure is similar to thatused in the traditional TV channels. Both are easy to use and widespread.

By the system or the method for video collection management of thedisclosure, the channels subscribed by the user are automaticallytracked, new programs are automatically searched, and the videos thatare already invalid or no longer match the gathering condition areautomatically removed periodically. Thus, the completeness and theplayability of the channels can be ensured. Accordingly, the disclosureis applicable to the networking environment having frequently changedvideos so as to provide a complete solution for video collectionchannels.

In addition, in the disclosure, the last viewing information of the useris recorded so that the video can continuously played when the user viewthe video again. The user can apply the function of continuous videoreplay to each video by using any playing apparatus in any networkingenvironment at any time.

It will be apparent to those skilled in the art that variousmodifications and variations can be made to the structure of thedisclosed embodiments without departing from the scope or spirit of thedisclosure. In view of the foregoing, it is intended that the disclosurecover modifications and variations of this disclosure provided they fallwithin the scope of the following claims and their equivalents.

What is claimed is:
 1. A method for video collection management,comprising: gathering a plurality of videos matching a predeterminedcondition in a network; retrieving and recording a plurality ofattributes of each of the plurality of videos; classifying the pluralityof videos into multiple channels according to a similarity degree amongthe plurality of attributes of the plurality of videos by using aclustering algorithm; and providing a user interface for a user tosubscribe at least one of the multiple channels.
 2. The method for videocollection management as recited in claim 1, wherein the predeterminedcondition is gathering the videos whose click numbers within a latestpredetermined time period are ranked as a highest predeterminedpercentage in all of the videos.
 3. The method for video collectionmanagement as recited in claim 1, wherein the plurality of attributescomprises at least one of a title, a publisher, a click number, anevaluation, a description, a category, a source uniform resource locator(URL), a source website, video definition, frames, tags, and an uploadedtime of each of the plurality of videos.
 4. The method for videocollection management as recited in claim 1, wherein the steps ofclassifying the plurality of videos into the multiple channels by usingthe clustering algorithm comprise: using the plurality of videos as aninitial data set of the clustering algorithm; finding out a plurality offrequent sets of at least one of the attributes of the plurality ofvideos; and determining initial cluster pivots of the clusteringalgorithm according to the plurality of frequent sets.
 5. The method forvideo collection management as recited in claim 1, further comprising:calculating a distance mean of all the videos and a cluster pivot of thechannel, an average click number of all the videos within a latestpredetermined time period and/or an average uploaded time of all thevideos for each of the multiple channels; and recommending at least oneof the multiple channels to be selected and subscribed by the useraccording to the distance mean, the average click number and/or theaverage uploaded time of each of the multiple channels.
 6. The methodfor video collection management as recited in claim 1, furthercomprising: gathering periodically at least one new video from thenetwork, wherein the new video is not yet published or does not matchthe predetermined condition in the previous gathering and matches thepredetermined condition in the current gathering; and for each of the atleast one new video, identifying a channel having a cluster pivotnearest to the new video among the multiple channels and adding the newvideo in the channel.
 7. The method for video collection management asrecited in claim 1, further comprising: receiving at least one key wordprovided by the user on the user interface; searching for at least onevideo in the network by using the at least one key word; retrieving andrecording a plurality of attributes of each of the at least one videoobtained from the searching; classifying the at least one video obtainedfrom the searching into at least one channel according to a sourcewebsite of the at least one video obtained from the searching; andreceiving a subscription of the at least one channel obtained from thesearching from the user in the user interface.
 8. The method for videocollection management as recited in claim 7, further comprising: for atleast one of the channels, searching for at least one new video in atleast one associated channel of the at least one channel and adding theat least one new video in the at least one channel, wherein a similaritydegree between each of the at least one new video and a plurality of theattributes of a latest video in the at least one channel is greater thana first threshold and a published time of each of the at least one newvideo is later than the latest video.
 9. The method for video collectionmanagement as recited in claim 8, wherein when the at least one channelis generated by using the clustering algorithm, the associated channelis a channel among the multiple channels having a distance from the atleast one channel that is smaller than a second threshold, and when theat least one channel is generated during the searching by using the keyword, the associated channel is a channel belonging to the same keywords as the at least one channel but from a source website differentfrom that of the at least one channel, wherein the plurality ofattributes of the at least one new video and the latest video comprisesat least one of categories, channel names, titles, brief introductions,and tags.
 10. The method for video collection management as recited inclaim 1, further comprising: checking periodically whether the videos ofthe at least one of the channels are still valid and checking whetherthe videos still match the predetermined condition; and removing thevideos that are invalid or does not match the predetermined conditionfrom the at least one channel.
 11. The method for video collectionmanagement as recited in claim 1, wherein for each of the channels, whenthere are videos added in or removed from the channel, the method forvideo collection management further comprises: (a) when an amount of thevideos of the channel is smaller than or equal to a first threshold,removing the channel, adding all the videos of the channel in a districtof videos to be clustered and periodically re-classifying the videos inthe district of videos to be clustered into at least one first newchannel by using the clustering algorithm; (b) when the amount of thevideos of the channel is greater than the first threshold, calculating adistance mean of all the videos of the channel and the cluster pivot ofthe channel; and (c) when the distance mean is greater than a secondthreshold, classifying the channel into a plurality of second newchannels by using the clustering algorithm and executing the steps (a),(b) and (c) for each of the plurality of second new channels.
 12. Amethod for invalid video replacement, comprising: providing multiplechannels, wherein each of the multiple channels comprises a plurality ofvideos; checking periodically whether the videos in at least one of themultiple channels is invalid; and if there is an invalid video,selecting another video having a highest similarity degree with theinvalid video from at least one associated channel of the channel of theinvalid video, and replacing the invalid video with the another video,wherein the similarity degree is calculated based on a plurality ofattributes of the plurality of videos.
 13. The method for invalid videoreplacement as recited in claim 12, wherein when the channel of theinvalid video is generated by using a clustering algorithm, theassociated channel is a channel among the multiple channels which has adistance from the channel smaller than a threshold, and when the channelof the invalid video is generated in a searching by using at least onekey word, the associated channel is a channel belonging to the same keywords as the channel but from a different source website.
 14. The methodfor invalid video replacement as recited in claim 12, wherein theplurality of attributes comprises at least one of a channel name, atitle, tags and a length of each of the plurality of videos.
 15. Amethod for continuous video replay, comprising: playing a first videofor a user; recording last viewing information of the first video viewedby the user in a server of a network; determining a replay startingposition of a second video according to the last viewing information;and playing the second video from the replay starting position for theuser.
 16. The method for continuous video replay as recited in claim 15,wherein the first video and the second video are the same video, thelast viewing information comprises a last viewing position, and thereplay starting position is the last viewing position.
 17. The methodfor continuous video replay as recited in claim 15, wherein the firstvideo and the second video are different videos, and the last viewinginformation comprises a last viewed frame, steps of determining thereplay starting position comprising: capturing a sampling frame per apredetermined interval in a segment of a predetermined length centeredat the last viewing position in the second video; comparing the samplingframes with the last viewed frame; and setting the replay startingposition as a position of the sampling frame that is most similar to thelast viewed frame.
 18. A method for video collection management,comprising: gathering a plurality of videos matching a predeterminedcondition in a network; retrieving and recording a plurality ofattributes of each of the plurality of videos; classifying the pluralityof videos into multiple channels according to a similarity degree amongthe plurality of attributes of the plurality of videos by using aclustering algorithm; checking periodically whether the videos of atleast one of the multiple channels are invalid; if there is a firstvideo that is invalid, selecting a second video having a highest secondsimilarity degree with the first video from at least one associatedchannel of the channel of the first video, and replacing the first videowith the second video, wherein the second similarity degree iscalculated based on a plurality of the attributes of the plurality ofvideos; playing a third video of the plurality of channels for a user;storing last viewing information of the third video viewed by the userin a server of a network; determining a replay starting position of afourth video among the plurality of channels according to the lastviewing information; and playing the fourth video from the replaystarting position for the user.
 19. A system for video collectionmanagement, comprising: a server, gathering a plurality of videosmatching a predetermined condition in a network, retrieving andrecording a plurality of attributes of each of the plurality of videosand classifying the plurality of videos into multiple channels accordingto a similarity degree among the plurality of attributes of theplurality of videos by using a clustering algorithm; and a playingapparatus, coupled to the sever through the network and providing a userinterface for a user to subscribe at least one of the multiple channels.20. The system for video collection management as recited in claim 19,wherein the predetermined condition is gathering the videos whose clicknumbers within a latest predetermined time period are ranked as ahighest predetermined percentage in all of the videos.
 21. The systemfor video collection management as recited in claim 19, wherein theplurality of attributes comprises at least one of a title, a publisher,a click number, an evaluation, a description, a category, a sourceuniform resource locator (URL), a source website, video definition,frames, tags, and an uploaded time of each of the plurality of videos.22. The system for video collection management as recited in claim 19,wherein the server comprises: a crawler module, gathering the pluralityof videos matching the predetermined condition in the network;retrieving the plurality of attributes of each of the plurality ofvideos and classifying the plurality of videos into the multiplechannels according to the similarity degree among the plurality ofattributes of the plurality of videos by using the clustering algorithm;a subscription module, coupled to the crawler module and providing adescription of the user interface for the playing apparatus to presentthe user interface; a database, coupled to the crawler module and thesubscription module, recording the plurality of attributes of each ofthe plurality of videos, the multiple channels, the at least one channelsubscribed by the user, an associated channel of the at least onechannel subscribed by the user; and a tracker module, coupled to thecrawler module, the subscription module and the database andperiodically performing newly addition and removal of videos of at leastone of the multiple channels.
 23. The system for video collectionmanagement as recited in claim 22, wherein the playing apparatuscomprises: a networking module, delivering information of the multiplechannels and the plurality of videos between the server and the playingapparatus; a display module; and a playing module, coupled to thenetworking module and the display module, receiving the description ofthe user interface and the source website of a video of the at least onechannel subscribed by the user through the networking module from theserver, controlling the display module to present the user interface andcontrolling the display module to play the video of the at least onechannel subscribed by the user according to the source website.
 24. Thesystem for video collection management as recited in claim 22, whereinwhen classifying the plurality of videos into the multiple channels byusing the clustering algorithm, the crawler module uses the plurality ofvideos as an initial data set of the clustering algorithm, finds out aplurality of frequent sets of at least one of the attributes of theplurality of videos and determines initial cluster pivots of theclustering algorithm according to the plurality of frequent sets. 25.The system for video collection management as recited in claim 22,wherein for each of the multiple channels, the crawler module calculatesa distance mean of all the videos and a cluster pivot of the channel, anaverage click number of all the videos within a latest predeterminedtime period and/or an average uploaded time of all the videos andrecommends at least one of the multiple channels to be selected andsubscribed by the user according to the distance mean, the average clicknumber and/or the average uploaded time of each of the multiplechannels.
 26. The system for video collection management as recited inclaim 22, wherein the tracker module periodically controls the crawlermodule to gather at least one new video from the network, wherein thenew video is not yet published or does not match the predeterminedcondition in the previous gathering and matches the predeterminedcondition in the current gathering, and for each of the at least one newvideo, the crawler module identifies a channel having a cluster pivotnearest to the new video among the multiple channels recorded in thedatabase and adds the new video in the channel.
 27. The system for videocollection management as recited in claim 22, wherein the subscriptionmodule receives at least one key word provided by the user on the userinterface, the crawler module searches for at least one video in thenetwork by using the at least one key word, retrieves a plurality ofattributes of each of the at least one video obtained from the searchingand classifies the at least one video obtained from the searching intoat least one channel according to a source website of the at least onevideo obtained from the searching, the database records the plurality ofattribute of each of the at least one video obtained from the searching,and the subscription module receives a subscription of the at least onechannel obtained from the searching from the user through the userinterface.
 28. The system for video collection management as recited inclaim 27, wherein for at least one of the channels, the tracker modulesearches for at least one new video in at least one associated channelof the at least one channel recorded in the database and adds the atleast one new video in the at least one channel, wherein a similaritydegree between each of the at least one new video and a plurality of theattributes of a latest video in the at least one channel is greater thana first threshold and a published time of each of the at least one newvideo is later than the latest video.
 29. The system for videocollection management as recited in claim 28, wherein when the at leastone channel is generated by using the clustering algorithm, theassociated channel is a channel among the multiple channels having adistance from the at least one channel that is smaller than a secondthreshold, and when the at least one channel is generated during thesearching by using the key word, the associated channel is a channelbelonging to the same key words as the at least one channel but from asource website different from that of the at least one channel, whereinthe plurality of attributes of the at least one new video and the latestvideo comprises at least one of categories, channel names, titles, briefintroductions, and tags.
 30. The system for video collection managementas recited in claim 22, wherein the tracker module periodically controlsthe crawler module to check whether the videos of at least one of thechannels are still valid, checks whether the videos still match thepredetermined condition and removes the videos that are invalid or doesnot match the predetermined condition from the at least one channelrecorded in the database.
 31. The system for video collection managementas recited in claim 22, wherein for each of the channels, when there arevideos added in or removed from the channel, the crawler module or thetracker module executes: (a) when an amount of the videos of the channelis smaller than or equal to a first threshold, removing the channel,adding all the videos of the channel in a district of videos to beclustered and periodically re-classifying the videos in the district ofvideos to be clustered into at least one first new channel by using theclustering algorithm; (b) when the amount of the videos of the channelis greater than the first threshold, calculating a distance mean of allthe videos of the channel and the cluster pivot of the channel; and (c)when the distance mean is greater than a second threshold, classifyingthe channel into a plurality of second new channels by using theclustering algorithm and executing the steps (a), (b) and (c) for eachof the plurality of second new channels.
 32. A system for invalid videoreplacement, comprising: a server, providing multiple channels, whereineach of the multiple channels comprises a plurality of videos, theserver checks periodically whether the videos in at least one of themultiple channels is invalid, and if there is an invalid video,selecting another video having a highest similarity degree with theinvalid video from at least one associated channel of the channel of theinvalid video and replacing the invalid video with the another video,wherein the similarity degree is calculated based on a plurality ofattributes of the plurality of videos; and a playing apparatus, coupledto the server through a network and playing the plurality of videos. 33.The system for invalid video replacement as recited in claim 32, whereinwhen the channel of the invalid video is generated by using a clusteringalgorithm, the associated channel is a channel among the multiplechannels which has a distance from the channel smaller than a threshold,and when the channel of the invalid video is generated in a searching byusing at least one key word, the associated channel is a channelbelonging to the same key words as the channel but from a differentsource website.
 34. The system for invalid video replacement as recitedin claim 32, wherein the plurality of attributes comprises at least oneof a channel name, a title, tags, and a length of each of the pluralityof videos.
 35. A system for continuous video replay, comprising: atleast one playing apparatus; and a server, coupled to the at least oneplaying apparatus through a network, providing a source website of afirst video for a first playing apparatus among the at least one playingapparatus to play the first video for a user, recording last viewinginformation of the first video viewed by the user, determining a replaystarting position of a second video according to the last viewinginformation and providing a source website and the replay startingposition of the second video for a second playing apparatus among the atleast one playing apparatus to play the second video from the replaystarting position for the user.
 36. The system for continuous videoreplay as recited in claim 35, wherein the first video and the secondvideo are the same video, the last viewing information comprises a lastviewing position, and the replay starting position is the last viewingposition.
 37. The system for continuous video replay as recited in claim35, wherein the first video and the second video are different videos,the last viewing information comprises a last viewed frame captured bythe playing apparatus; and the server captures a sampling frame per apredetermined interval in a segment of a predetermined length centeredat the last viewing position in the second video, compares the samplingframes with the last viewed frame and sets the replay starting positionas a position of the sampling frame that is most similar to the lastviewed frame.
 38. A system for video collection management, comprising:at least one playing apparatus; and a server, coupled to the at leastone playing apparatus through a network, gathering a plurality of videosmatching a predetermined condition in a network, retrieving andrecording a plurality of attributes of each of the plurality of videos,classifying the plurality of videos into multiple channels according toa similarity degree among the plurality of attributes of the pluralityof videos by using a clustering algorithm, checking periodically whetherthe videos of at least one of the multiple channels are invalid, ifthere is a first video that is invalid, selecting a second video havinga highest second similarity degree with the first video from at leastone associated channel of the channel of the first video and replacingthe first video with the second video, wherein the second similaritydegree is calculated based on a plurality of the attributes of theplurality of videos, providing a source website of a third video for afirst playing apparatus among the at least one playing apparatus to playthe third video for a user, recording last viewing information of thethird video viewed by the user, determining a replay starting positionof a fourth video according to the last viewing information, andproviding a source website and the replay starting position of thefourth video for a second playing apparatus among the at least oneplaying apparatus to play the fourth video from the replay startingposition for the user.